import 'package:get/get.dart';

import '../middleware/authMiddleware.dart';
import '../modules/home/bindings/home_binding.dart';
import '../modules/home/views/home_view.dart';
import '../modules/login/bindings/login_binding.dart';
import '../modules/login/views/login_view.dart';
import '../modules/project/interface/bindings/interface_binding.dart';
import '../modules/project/interface/views/interface_view.dart';
import '../modules/project/projectMain/bindings/project_main_binding.dart';
import '../modules/project/projectMain/views/project_main_view.dart';
import '../modules/project/projectUser/bindings/project_user_binding.dart';
import '../modules/project/projectUser/views/project_user_view.dart';
import '../modules/user/bindings/user_binding.dart';
import '../modules/user/views/user_view.dart';

part 'app_routes.dart';

class AppPages {
  AppPages._();

  static const INITIAL = Routes.HOME;

  static final routes = [
    GetPage(
      name: _Paths.HOME,
      page: () => HomeView(),
      binding: HomeBinding(),
      middlewares: [
        AuthMiddleware(),
      ],
    ),
    GetPage(
      name: _Paths.LOGIN,
      page: () => const LoginView(),
      binding: LoginBinding(),
    ),
    GetPage(
      name: _Paths.USER,
      page: () => const UserView(),
      binding: UserBinding(),
      children: [
        GetPage(
          name: _Paths.USER,
          page: () => const UserView(),
          binding: UserBinding(),
        ),
      ],
    ),
    GetPage(
      name: _Paths.PROJECT_MAIN,
      page: () => ProjectMainView(),
    ),
    // GetPage(
    //   name: _Paths.INTERFACE,
    //   page: () => InterfaceView(projectId: 0),
    // ),
    // GetPage(
    //   name: _Paths.PROJECT_USER,
    //   page: () => const ProjectUserView(projectId: 0),
    //   binding: ProjectUserBinding(),
    // ),
  ];
}
